The present invention relates generally to the field of tape storage devices, and more particularly to data logging on magnetic tapes.
A tape drive is a data storage device typically used for offline, archival data storage. The tape drive reads and writes data, referred to herein as archival data, on a magnetic tape. Tape drives provide sequential access storage and must physically wind tape between reels to read any one particular piece of archival data on the tape. Modern advance in tape processing include partitioning, high resolution tape directories, and Random Access Ordering.
A tape drive records archival data longitudinally along a length of magnetic tape, parallel to the edges of the tape. Increasing recording densities lead to smaller track widths and multiple longitudinal passes for the same size tape. A physical “wrap” is defined in the industry as one trip from beginning of tape (BOT) to end of tape (EOT) and back again to BOT. For example, a 10 TB JD-type cartridge format written by a model TS1150 tape drive writes 32 simultaneous tracks with 160 wraps. Completely written, this yields 5,120 data tracks spanning the half inch distance between the top and bottom edge of the tape resulting in a track width of just 2.02 um. (Note: the term(s) “JD” and/or “TS1150” may be subject to trademark rights in various jurisdictions throughout the world and are used here only in reference to the products or services properly denominated by the marks to the extent that such trademark rights may exist.)
In order to achieve such a highly precise track placement, a servo system, an advanced servomechanism, is employed to make use of two active servo channels and a servo pattern pre-formatted on the tape, also referred to as media. This is a timing-based servo pattern, resembling a chevron shape, which configures 5 servo bands across the tape. Between each servo band is a data band. Continuing with the example, the 10 TB JD-type cartridge format places 40 physical wraps into each data band (20 read in the forward direction towards EOT, and 20 read in the backward direction towards BOT).
Track placement accuracy is achieved by positioning the servo readers relative to the data writers. Two active servo channels monitor read-back signals from the timing-based servo pattern to determine tape/head position and relative skew angles. In that way, the data channels are accurately positioned to the correct wrap location for processing data. The servo pattern also contains data having longitudinal distance (LPOS), so that the tape reference points from BOT can be determined.
Because the tape path supports media, there is continual head/tape contact affecting the tape head, the tape path, and the tape itself. Contact recording subjects the tape to wear and has an effect on magnetic field spacing, read/write signal amplitude, tape damage, cartridge capacity, and performance. Wear has an effect on servo tracking, magnetic field spacing, and signal amplitude. A clean, controlled environment that avoids high temperature, high humidity, and particulates is ideal to avoid certain problems including: (i) accelerated head wear when operating with green (new) and old media; (ii) media edge damage and debris lead to signal dropout and media imprinting (cleaning required); (iii) high temperature will increase pack tightness (hardband distortion of tape, wound-in debris affecting the magnetic layer, tape stick where layers adhere to each other); (iv) high humidity can cause the tape to stick to the head (running stiction or friction, tape slip); and (v) high humidity can cause tape to expand by absorbing moisture.
Tape drive microcode maintains an engineering data structure, known as a tape map, to record critical performance metrics and functional data sourced from various functional areas such as servo, dataflow, channel, read/write, speed matching, and error recovery. The tape map is a data structure with variable content that exists in microprocessor memory as part of a microcode dump file. The microcode dump file has large scope content intended for failure analysis. The dump file can be read from the tape drive by host command as a single file. Depending on what is of interest, various formatter tools are available to interpret the data in the microcode dump file. The tape map is extracted from the dump file and has its own formatter tool. The tape map also offers real-time dynamic feedback to microcode while archival data is being processed.
The tape map represents a physical tape layout. Errors, events of interest, and performance data are logged to the tape map with reference to tape position, or positionally, while the tape is loaded. The logging coordinates refer to (i) wrap number and (ii) horizontal position down tape between BOT and EOT. To determine the position down tape, the distance between EOT and BOT is divided into n-equal regions (e.g. the lpos region, where lpos stands for “longitudinal position”). Accordingly, all wraps have the same number of regions and the region beginning at LP3 (BOT) is always region 1. The wrap count, the region count, and the region size will vary according to the length of the tape and its particular format.
Failure analysis often involves examining the tape map to identify patterns, such as errors aggregating in bursts mostly at the end of tape and servo issues more in one direction than another. It should be noted that RW data is processed from BOT to EOT. Forward direction wraps are even numbered wraps and backward direction wraps are odd numbered. Therefore, movement is from BOT to EOT on the forward wraps and EOT to BOT on the backward wraps.
The tape map is stored as a three dimensional array indexed by wrap number and direction (column), and region number (row). Because each row represents a region, each row has a common offset from BOT, but each such offset projects across all wraps as identified by the column number. By definition, the first (zero) row of each column is reserved for wrap-oriented logging and is not positional.
Tape lengths vary among cartridge types and store archival data in a variety of recording formats. The tape map has a header to identify the cartridge recording format and other configuration information in support of data formatting. The size, content, and scope of the tape map data structure varies by product type and microcode level. Overall array size (header plus payload) defines the formatter key. Content produced on a device having the same formatter key will vary according to logging mode and changes in microcode logic used to produce the content. The formatter key and support fields in the header are both used in deciphering and interpreting the tape map payload data. Among other things, the formatter key defines the array dimensions: MAX_LPOS_REGIONS, MAX_HWRAPS, and MAX_DIR (2: forward and backward). How data logs to the tape map depends on the tape drive type, microcode level, and the recording format of the loaded cartridge.